home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 February / EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso / earcd / comm2 / zpont311.lha / zpoint-3.11 / Rexx / DateDelete.zprx < prev    next >
Text File  |  1995-03-09  |  3KB  |  126 lines

  1. /*
  2. PANDORA@CIRCUS.zer.sub.org
  3.  
  4. ---------------------------------------------------------------------
  5.  
  6.               Date-Delete-ZP.rexx V1.0 by Theo Penning
  7.  
  8. Zweck: Löschen von Nachrichten in allen oder einzelnen Brettern
  9.        die über 5 Tage alt sind.
  10.        Nachrichten mit Archivflag sind davon nicht betroffen :)
  11.  
  12.  
  13. Dieses Script auf eine F-Taste von ZPoint legen
  14.  
  15. F1:SYS:rexxc/rx ZP:AREXX/Date-Delete-ZP.rexx
  16.  
  17. und einfach mal testen :-))
  18. Keine Angst ohne Bestätigung wird nichts gelöscht.
  19.  
  20.  
  21. Hardware-Voraussetzung für dieses Script ist eine interne Uhr...grins
  22.  
  23. ---------------------------------------------------------------------
  24.  
  25. */
  26.  
  27.  
  28. OPTIONS RESULTS
  29.  
  30. PARSE ARG zpPort
  31. ADDRESS VALUE zpPort
  32.  
  33. Dat = date("S",date("I")-5)    /* Aktuelles Datum minus 5 Tage */
  34.  
  35. /* anstatt -5 kann man natürlich auch -30 oder mehr eingeben */
  36.  
  37.  
  38. tag = substr(dat,7,2)
  39. mon = substr(dat,5,2)
  40. Jahr = substr(dat,1,4)
  41.  
  42.  
  43. DATUM = tag || "." || mon || "." || Jahr
  44.  
  45.  
  46.  
  47. WHICHLEVEL
  48. LEVEL = RESULT
  49.  
  50. IF LEVEL = "BOARDMENU" THEN DO
  51.  
  52.     REQUESTRESPONSE "Nachrichten in ALLEN Brettern bis zum " || DATUM || " löschen ?"
  53.     IF RC = 0 THEN EXIT
  54.  
  55.     COUNT ALL
  56.     BRETTER = RESULT
  57.  
  58.     DO N = 4 to BRETTER
  59.         JUMPTOBOARD N
  60.         IF RC = 0 THEN EXIT
  61.  
  62.         /*
  63.         -------------------------------------------------------------
  64.         |ab hier wäre es schön wenn die folgenden Befehle auch      |
  65.         |interaktiv funktionieren würden. Ich meine das ZPoint zwar |
  66.         |alle folgenden Befehle in den einzelnen Brettern ausführt, |
  67.         |aber dabei im Brettmenü bleibt.                            |
  68.         |Ich nehme an das nun mal wieder Ralphs Programmierkünste   |
  69.         |gefragt sind :-)                                           |
  70.         -------------------------------------------------------------
  71.         */
  72.  
  73.         ENTERBOARD
  74.         IF RC = 0 THEN EXIT
  75.         COUNT ALL
  76.         ANZAHL = RESULT
  77.  
  78.         DO I = 1 to ANZAHL
  79.             JUMPTOMESSAGE i
  80.             IF RC = 0 THEN EXIT
  81.             MESSAGEINFO DATE
  82.             IF substr(RESULT,1,8) <= Dat THEN DELETE ONE /* Datum prüfen */
  83.         END
  84.         BOARDMENU
  85.         IF RC = 0 THEN EXIT
  86.     END
  87. EXIT
  88. END
  89.  
  90.  
  91.  
  92.  
  93. IF LEVEL = "BOARD" THEN DO
  94.  
  95.     REQUESTRESPONSE "Nachrichten in DIESEM Brett bis zum " || DATUM || " löschen ?"
  96.     IF RC = 0 THEN EXIT
  97.  
  98.     COUNT ALL                               /* Nachrichten zählen */
  99.     ANZAHL = RESULT
  100.  
  101.     DO I = 1 to anzahl
  102.         JUMPTOMESSAGE I
  103.         IF RC = 0 THEN EXIT   /* wenn keine Nachricht - abbrechen */
  104.         MESSAGEINFO DATE                        /* Datum abfragen */
  105.         IF substr(RESULT,1,8) <= Dat THEN DELETE ONE /* Datum prüfen */
  106.     END
  107. /*
  108. ----------------------------------------------------------------------
  109. | Hier wäre es angebracht den Befehl AUFRÄUMEN als Arexx-Command zur |
  110. | Verfügung zu haben. Aber vieleicht baut der Ralph den ja noch ein  |
  111. | Nicht wahr Ralphi ...GRINS                                         |
  112. ----------------------------------------------------------------------
  113. */
  114.  
  115. EXIT
  116. END
  117.  
  118.  
  119. IF LEVEL = "MAINMENU" THEN DO
  120.  
  121.     REQUESTNOTIFY "Nur im Brett oder Brettmenü !"
  122.     EXIT
  123.     END
  124.  
  125. EXIT
  126.